#pragma once
#include "DXAMLCommon.h"
#include "IXcpHostSite.h"
#include "IPALSurface.h"



class IPALHwndHost
{
public:
	virtual HRESULT Create(IXcpHostSite *pHostSite, void *hwnd) = 0;
	virtual void Destroy() = 0;
	virtual void SetVisibility(unsigned int fIsVisible) = 0;
	virtual HRESULT SetPosition(float x, float y) = 0;
	virtual HRESULT SetSize(float width, float height) = 0;
	virtual HRESULT SetZoom(int zoomFactor) = 0;
	virtual HRESULT SetClipRect(XRECT_RB) = 0;
	virtual HRESULT Redraw() = 0;
	virtual HRESULT GetBitmapInfo(unsigned int *pWidth, unsigned int *pHeight, void **ppPixels) = 0;
	virtual HRESULT UpdateBitmap() = 0;
	virtual HRESULT GetSurface(IPALSurface **ppSurface) = 0;
	virtual HRESULT SetFocus(unsigned int bSetFocus) = 0;
	virtual HRESULT BringToTop() = 0;
};